/**
 * Created by cuppi on 2017/6/29.
 */
var http = require("http");
var path = require('path');

class NetworkManager {
    static getBase64Image(imageUrl) {
        return new Promise((resolve, reject) => {
            http.get(imageUrl, function (res) {
                var chunks = []; //用于保存网络请求不断加载传输的缓冲数据
                var size = 0;　　 //保存缓冲数据的总长度
                res.on("data", function (chunk) {
                    chunks.push(chunk);
                    size += chunk.length;　　//累加缓冲数据的长度
                });

                res.on("end", function () {
                    var data = Buffer.concat(chunks, size);　　//Buffer.concat将chunks数组中的缓冲数据拼接起来，返回一个新的Buffer对象赋值给data
                    // console.log(Buffer.isBuffer(data));　　　　//可通过Buffer.isBuffer()方法判断变量是否为一个Buffer对象
                    var base64Img = data.toString('base64');　　//将Buffer对象转换为字符串并以base64编码格式显示
                    // console.log(base64Img);　　 //进入终端terminal,然后进入index.js所在的目录，

                    //在终端中输入node index.js

                    //打印出来的就是图片的base64编码格式，格式如下　
                    resolve(base64Img)
                });
            });
        })
    }
}

module.exports = NetworkManager;